//
//  UIColor+Extensions.swift
//  扩展文件
//
//  Created by 伏文东 on 2018/2/5.
//  Copyright © 2018年 伏文东. All rights reserved.
//

import UIKit

extension UIColor {
    /// 使用 R / G / B 数值创建颜色
    ///
    /// - Parameters:
    ///   - r: red
    ///   - g: green
    ///   - b: blue
    convenience init(r: CGFloat, g: CGFloat, b: CGFloat) {
        self.init(red: r / 255.0,
                  green: g / 255.0,
                  blue: b / 255.0, alpha: 1.0)
    }
    
    /// 使用 16 进制数字创建颜色，例如 0xFF0000 创建红色
    ///
    /// - Parameter hex: 16 进制无符号32位整数
    /// - Returns: 颜色
    static func colorWithHex(hex: UInt32) -> UIColor {
        let r = (hex & 0xff0000) >> 16
        let g = (hex & 0x00ff00) >> 8
        let b  = hex & 0x0000ff
        return UIColor(r: CGFloat(r),
                       g: CGFloat(g),
                       b: CGFloat(b))
    }
    
    /// 生成随机颜色
    ///
    /// - Returns: 随机颜色
    static func randomColor() -> UIColor {
        return UIColor(r: CGFloat(arc4random_uniform(256)),
                       g: CGFloat(arc4random_uniform(256)),
                       b: CGFloat(arc4random_uniform(256)))
    }
}
